package org.dromara.crawler.mongo.mongodomain;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.mongoplus.annotation.ID;
import com.mongoplus.annotation.collection.CollectionField;
import com.mongoplus.annotation.collection.CollectionName;
import com.mongoplus.enums.IdTypeEnum;
import lombok.Data;

import java.util.Date;

@Data
@CollectionName(value = "element_target", database = "NEWS")
public class ElementTarget {

    @ID(type = IdTypeEnum.ASSIGN_UUID)
    private String id;

    @CollectionField("source_id")
    private String sourceId;

    private String source;
    /**
     * event_first_level
     * 事件一级标题
     */
    @CollectionField("event_first_level")
    private String eventFirstLevel;
    /**
     * event_second_level
     * 事件二级标题
     */
    @CollectionField("event_second_level")
    private String eventSecondLevel;

    /**
     * target_id
     * 目标id
     */
    @CollectionField("target_id")
    private String targetId;


    @JsonIgnore
    private Object _id;


    @CollectionField("affiliated_organization")
    private String affiliatedOrganization;

    @CollectionField("alias")
    private String alias;

    @CollectionField("birth_date")
    private Date birthDate;

    @CollectionField("birth_place")
    private String birthPlace;


    @CollectionField("commander_or_leader")
    private String commanderOrLeader;

    @CollectionField("coordinate")
    private String coordinate;

    @CollectionField("creation_time_history")
    private String creationTimeHistory;


    @CollectionField("ethnicity_religion")
    private String ethnicityReligion;

    @CollectionField("family_members")
    private String familyMembers;

    @CollectionField("functions")
    private String functions;

    @CollectionField("gender")
    private String gender;

    @CollectionField("international_cooperation")
    private String internationalCooperation;

    @CollectionField("leader")
    private String leader;

    @CollectionField("location")
    private String location;

    @CollectionField("main_responsibilities")
    private String mainResponsibilities;

    @CollectionField("name")
    private String name;

    @CollectionField("nationality")
    private String nationality;

    @CollectionField("operating_area")
    private String operatingArea;

    @CollectionField("organization_name")
    private String organizationName;

    @CollectionField("personnel_size")
    private String personnelSize;

    @CollectionField("rank_position")
    private String rankPosition;

    @CollectionField("resource_configuration")
    private String resourceConfiguration;

    @CollectionField("security_level")
    private String securityLevel;

    @CollectionField("service_type")
    private String serviceType;

    @CollectionField("subordinate_units")
    private String subordinateUnits;

    @CollectionField("superior_organization")
    private String superiorOrganization;

}
